1. Field of the Invention
This invention generally relates to computer networks, and more specifically, to computer networks having one or more server applications. Even more specifically, the invention relates to procedures for determining when such server applications can be activated.
2. Background Art
Computer networks have become very widespread and increasingly important to many types of enterprises including businesses, universities and government. In general, a computer network is two or more computers (or associated devices) that are connected by communication facilities. One type of computer network is a client/server network. A client/server network includes a server, which is a computer or a process that provides shared resources to users of the network, and a client, which is a computer or a process that accesses the shared network resources provided by the server using the communication facilities.
In general, a client in a client/server network obtains information from a server by sending a request to the server. When the server receives the request, a server application on the server fills the request by obtaining the requested information and sending the information through the network to the client. The Internet (via the World Wide Web (WWW)) is an example of a client/server network. The Internet is a public wide-area network (WAN) environment that enables a client to request and receive data located on a remote server.
The server computer includes a network adapter card that physically transmits and receives packets of data between the server computer and a client computer over the network. The server computer also includes server applications that are software for manipulating data. For example, server applications may include database serving, file serving, and transaction processing. Each server application can access the network through the network adapter card. More specifically, an application process, which is made up of one or more threads, is connected to the network adapter card via a socket, which is a software object that allows a thread of a server application to communicate with a virtual port of the network adapter card.
In many servers, some aspects of these server applications are managed by a mechanism referred to as a stack, which is a prescribed hierarchy of protocols. These protocols may set forth conditions that must be met before a particular application can be started, and may determine priority among applications competing for resources. On servers that are connected to the internet, these protocol stacks are referred to as TCP/IP (Transmission Control Protocol/Internet Protocol) stacks.
For example, during system initialization, system resources and services are limited. This limitation prevents TCP/IP socket applications from being started until system initialization is completed. On most platforms, all socket applications can only be started when the system is initialized and the network is started. Some applications will not start correctly if configuration data needed by the application is not first uploaded from the remote systems. Examples of such configuration data are airline fare rules and current inventory/pricing data. Procedures of operators uploading data manually before starting the applications have proven to be error prone. The customer requirement is to be able to start certain system services during the system initialization process that interact with remote platforms. Besides uploading configuration data, another example is the need for remote operators to be able to access the server during the initialization process.